package landx.toolkit.db
{
	/**
	 * 
	 * @author nease#163.com
	 */	
	public class DataBaseItem
	{
		private var m_id:int=0;
		private var m_data:Object;
		private var m_db:DataBase;
		
		public function DataBaseItem(args:Object=null)
		{
			m_data=args;
		}
		
		/**
		 * 获取当前在数据库中的标识 
		 * @return 标识号
		 */		
		public function get id():int{
			return m_id;
		}
		
		internal function setid(n:int):void{
			m_id=n;
		}
		
		/**
		 * 获取/设置当前的数据库引用对象 
		 * @param xdb
		 * 
		 */		
		internal function setdb(xdb:DataBase):void{
			m_db=xdb;
		}
		
		/**
		 * 获取当前的数据库引用对象 [只读]
		 * @param xdb
		 * 
		 */	
		public function get db():DataBase{
			return m_db;
		}
		
		/**
		 * 获取/设置当前的数据
		 * @param n	设置的参数对象
		 */		
		public function set data(n:Object):void{
			this.m_data=n;
		}
		
		public function get data():Object{
			return m_data;
		}
		
		/**
		 *释放并销毁当前对象，可继承
		 */		
		public function dispose():void{
			db.removeItem(this);
		}
		
		
		public function toString():String{
			return "[db->item(id=\""+id+"\")]";
		}
	}
}